package org.zachary.imitation.raft.util.timer;

/**
 * 对超时进行抽象的接口
 */
public interface Timeout {

	Timer timer();

	/** 获取在时间轮中执行的定时任务 */
	TimerTask task();

	/** 定时任务是否已经超时 */
	boolean isExpired();

	/** 定时任务是否已经取消 */
	boolean isCancelled();

	/** 取消定时任务 */
	boolean cancel();
}
